<?php $odd = fmod(floor($number), 2) ? 'odd' : 'even'; ?>
<li class="<?php echo $odd;?>">
  <?php echo $form['new'][$number]['cantidad'] ?>
  <?php echo $form['new'][$number]['concepto'] ?>
  <?php echo $form['new'][$number]['precio_unitario'] ?>
  <?php echo $form['new'][$number]['total'] ?>   
  <input type="button" class="removeconcepto" id="deleteconcepto" href="#" value="<?php echo __('Eliminar')?>" />
</li>
<script>
                $('li input.concepto').change(function() {
                    calculaNuevoConcepto($(this));
                    calculaTotal();
                }); 
                
                $('li input.cantidad').change(function() {
                    calculaNuevoConcepto($(this));
                    calculaTotal();
                });
                
                $('li input.precio_unitario').change(function() {
                    calculaNuevoConcepto($(this));
                    calculaTotal();
                });
                
                function calculaNuevoConcepto(objeto)
                {
                    var name = objeto.attr('name'); //input[name="code"]
                    var substr = name.split('[');
                    var indice = substr[2].split(']')[0];
                    var cantidad = "crm_parte[new]["+indice+"][cantidad]";
                    var concepto = "crm_parte[new]["+indice+"][concepto]";
                    var precio_unitario = "crm_parte[new]["+indice+"][precio_unitario]";
                    var subtotal = "crm_parte[new]["+indice+"][subtotal]";
                    var descuento = "crm_parte[new]["+indice+"][descuento]";
                    var total = "crm_parte[new]["+indice+"][total]";
                    var cantidadValor = $("input[name='"+cantidad+"']").val();
                    var conceptoValor = $("input[name='"+concepto+"']").val();
                    var precio_unitarioValor = $("input[name='"+precio_unitario+"']").val();
                    
                    // si no son numeros la cantidad y el precio_unitario los define a 0
                    if (isNaN(cantidadValor)) {cantidadValor="0";}
                    if (isNaN(precio_unitarioValor)) {precio_unitarioValor="0";}
                    
                    var subtotalValor = cantidadValor * precio_unitarioValor;
                    var descuentoValor = 0;
                    var totalValor = subtotalValor - descuentoValor;
                    if ((conceptoValor!="")&&(precio_unitarioValor!="")){
                        subtotalValor = redondear(subtotalValor,2);
                        descuentoValor = redondear(descuentoValor,2);
                        totalValor = redondear(totalValor,2);
                        cantidadValor = redondear(cantidadValor,2);
                        precio_unitarioValor= redondear(precio_unitarioValor,2);
                        $("input[name='"+subtotal+"']").val(subtotalValor);
                        $("input[name='"+descuento+"']").val(descuentoValor);
                        $("input[name='"+total+"']").val(totalValor);
                        $("input[name='"+cantidad+"']").val(cantidadValor);
                        $("input[name='"+precio_unitario+"']").val(precio_unitarioValor);
                    }
                    
                 }
                
                function calculaTotal()
                {   
                    // hacemos los calculos
                    var valorTipo = 18;
                    var valorImporte = 0;
                    var valorImporteTachado = 0;
                    var valorBase = 0;
                    var valorIva = 0;
                    var valorTotal = 0;
                    var valorDescuento = parseFloat($("input[name='crm_parte[descuento]']").val());
                    
                    var totales = $('input.total');
                    $.each(totales, function(i, val) {
                        if (val.value != ""){
                            valorImporte = valorImporte + parseFloat(val.value);
                        }
                    });
                    var totalesTachados = $('input.total.tachado');
                    $.each(totalesTachados, function(i, val) {
                        if (val.value != ""){
                            valorImporteTachado = valorImporteTachado + parseFloat(val.value);
                        }
                    });
                    valorImporte = valorImporte - valorImporteTachado;
                    if (isNaN(valorDescuento)){
                        valorBase = valorImporte;
                    }else{
                        valorBase =  valorImporte - valorDescuento;
                    }
                    valorIva = (valorBase*valorTipo)/100;
                    valorTotal = valorBase+valorIva;
                    
                    valorTipo = redondear(valorTipo,2);
                    valorImporte = redondear(valorImporte,2);
                    valorDescuento = redondear(valorDescuento,2);
                    valorBase = redondear(valorBase,2);
                    valorIva = redondear(valorIva,2);
                    valorTotal = redondear(valorTotal,2);
                    
                    // Escribimos los resultados
                    $("input[name='crm_parte[tipo]']").val(valorTipo);
                    $("input[name='crm_parte[importe]']").val(valorImporte);
                    $("input[name='crm_parte[descuento]']").val(valorDescuento);
                    $("input[name='crm_parte[base]']").val(valorBase);
                    $("input[name='crm_parte[iva]']").val(valorIva);
                    $("input[name='crm_parte[total]']").val(valorTotal);
                }
                
                function redondear(sVal, nDec){ 
                    var n = parseFloat(sVal); 
                    var s = "0.00"; 
                    if (!isNaN(n)){ 
                    n = Math.round(n * Math.pow(10, nDec)) / Math.pow(10, nDec); 
                    s = String(n); 
                    s += (s.indexOf(".") == -1? ".": "") + String(Math.pow(10, nDec)).substr(1); 
                    s = s.substr(0, s.indexOf(".") + nDec + 1); 
                    } else {
                        s = "0.00";
                    }
                    return s; 
                } 

</script>

<script language="JavaScript" type="text/javascript">
	$('input[type="text"]').focus(function() {
	    $(this).addClass("focus");
	    $(this).parent().parent().addClass("focustr");
	});
	$('input[type="text"]').blur(function() {
	    $(this).removeClass("focus");
	    $(this).parent().parent().removeClass("focustr");
	});
	$('textarea').focus(function() {
	    $(this).addClass("focus");
	    $(this).parent().parent().addClass("focustr");
	});
	$('textarea').blur(function() {
	    $(this).removeClass("focus");
	    $(this).parent().parent().removeClass("focustr");
	});
        $('select').focus(function() {
	    $(this).addClass("focus");
	    $(this).parent().parent().addClass("focustr");
	});
	$('select').blur(function() {
	    $(this).removeClass("focus");
	    $(this).parent().parent().removeClass("focustr");
	});
</script>